import { useContext } from "react";
import { ModalContext } from "./Modal";
import {TContext} from "./Modal.types";

/**
 * @function useModalContext - Определяет, находится ли составной элемент внутри Modal. Если нет, выдается ошибка.
 * @return { TContext } - Контекст модального окна.
 * @throw {Error} - Выбрасывается ошибка, если inhereModal = false.
 */
export const useModalContext = (): TContext => {
    const context = useContext(ModalContext);

    if (!context.inhereModal) {
        throw new Error("Дочерние компоненты Modal не могут быть выведены за его пределы!")
    }

    return context;
}
